1. Field of the Invention
The present invention is directed to a system that determines a configuration for a network of nodes and establishes a communication protocol for the nodes and, more particularly, to a system that allows wireless, multihop broadcast communication between and among a network control node and nodes of the network using node addresses that are based on a partitioned spanning tree allowing simple comparisons to a node's own address to make routing decisions and allowing a network of low cost, resource starved (with minimal memory and processing power) nodes to be efficiently connected.
2. Description of the Related Art
Today's typical networks, particularly those used for real time control of modern buildings, include wire connected nodes that are installed when the building is built. In these systems the networks are used to control lighting heating/cooling, elevators, etc. The nodes of the network are typically microcomputers with substantial amounts of memory and other resources. Because these systems are wired and have relatively powerful nodes, they are expensive and generally only justified in the largest of buildings. In addition, they are generally not suitable for retrofitting older buildings that can be the most suitable subjects for power usage control systems in particular.
What is needed is a network of very low cost nodes, that is, nodes that have minimal resources or resource starved nodes, that are wirelessly connected together and thus suitable for small to medium size buildings and for retrofitting older buildings.
In typical network based control systems the nodes of a data communication network exchange units of information amongst themselves. These units are commonly referred to as packets, frames or cells. In a multi-hop network, a node does not have a direct communication link with every other node of the network, and a packet may need to be forwarded by intermediate nodes that lie in a communication path from the source node to the destination node. Depending upon the type of network and its features, this function of routing of packets may involve one of the following at the intermediate nodes: 1) the selection of one of many links leaving the intermediate node (e.g., in a point-to-point multi-hop network like the Internet), or 2) a decision about whether or not to forward (retransmit) a received packet (e.g., in a wireless multi-hop broadcast network where all nodes share a common channel). Most of the popular routing techniques used in data communication networks utilize routing tables or decision tables to make routing decisions in an operation in which an address of a message is used to access the table to make a routing decision or selection. A routing table in an intermediate node typically indicates the best outgoing link or shortest path to the destination node where the packet is destined. Decision tables help in deciding whether or not to further forward a received packet. However, such tables take up space in a node's memory. For example, in a network of 256 nodes, about the size for a typical medium size building, if each node were to store a simple routing table, it would need at least 512 bytes to indicate to which node to forward a packet. A decision table in such a 256 node network may take 288 bytes, 256 bytes for the addresses of nodes, and 32 bytes to indicate using bits whether or not to forward a packet destined for each node in the table. In a network of resource-starved nodes of the low memory type, there is not enough memory available to store such tables. Memory, in such nodes, is shared between data communication functions and system or application specific functions. Thus, different routing techniques need to be devised. These routing methods not only should use very little RAM, but should also be efficient in transporting packets from source to destination with acceptable delays.
What is needed is a network of nodes that have minimal resources, particularly memory and a routing protocol that will operate with such nodes.